package com.yociyy.admin.mapper;

import com.yociyy.admin.model.entity.BaseDept;
import tk.mybatis.mapper.common.Mapper;

import java.util.List;
import java.util.Map;
import java.util.Set;

/**
 * 部门信息 mapper
 *
 * @author Y.yang
 * @date 2019-12-02
 */
public interface BaseDeptMapper extends Mapper<BaseDept> {

	/**
	 * 条件查询全部部门信息列表
	 * 
	 * @param params 查询条件
	 * @return 部门信息列表
	 */
	List<BaseDept> selectDeptList(Map<String, Object> params);

	/**
	 * 查询部门子节点
	 *
	 * @param deptId 部门id
	 * @return 部门信息列表
	 */
	List<BaseDept> selectChildDeptById(Long deptId);

	/**
	 * 检查部门下是否存在用户
	 *
	 * @param deptId 部门id
	 * @return 结果
	 */
	int checkDeptExistUser(Long deptId);

	/**
	 * 检查部门下是否存在子节点
	 *
	 * @param deptId 部门id
	 * @return 结果
	 */
	int checkHasChildByDeptId(Long deptId);

	/**
	 * 获取角色部门（数据权限）树
	 * 
	 * @param roleId 角色id
	 * @return 部门id列表
	 */
	Set<String> selectRoleDeptIds(Long roleId);

//	/**
//	 * 查询全部部门
//	 *
//	 * @return 部门信息列表
//	 */
//	List<DeptVo> selectDept();
//
//	/**
//	 * 查询全部用户信息
//	 *
//	 * @return 用户信息列表
//	 */
//	List<UserVo> selectUser();

}
